﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using System.Collections;

namespace iParse
{
    public class Deletespaces
    {

        public static string DeleteSpaces(string s)
        {
            ArrayList spaces = new ArrayList(); // динамический массив
            int num = 0;
            for (int i = 0; i < s.Length; i++)
            {
                if (s[i] == ' ') num++; // если пробел, плюс к счетчику
            }
            if (num == s.Length) // если количество пробелов равно длине строки
            {
                s = "";
                MessageBox.Show("Вы ничего не ввели!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
            else
            {
                for (int i = 0; i < s.Length; i++)
                {
                    spaces.Add(s[i]); // добавяем в динамический массив строку посимвольно
                }
                for (int k = 0; k < spaces.Count - 1; k++)
                {
                    if ((char)spaces[k] == ' ' && (char)spaces[k + 1] == ' ') // если данный и следующий элементы равны пробелам, то удаляется данный элемент
                    {
                        spaces.RemoveAt(k);
                        k--;
                    }
                }
                if ((char)spaces[0] == ' ') spaces.RemoveAt(0); // если строка начинается с пробела, он удаляется
                if ((char)spaces[spaces.Count - 1] == ' ') spaces.RemoveAt(spaces.Count - 1); // если заканивается пробелом, он удаляется
                s = "";
                for (int q = 0; q < spaces.Count; q++)
                    s += spaces[q].ToString(); // формирование новой "очищенной" строки
            }
            return s;
        }

    }
}
